<?php

/*

	Functies
	
	ldap_login_check  (han vd veen) : ldap login logica
	connectdb				(tlp)					: db connectie opzetten
	schrijfdb				(tlp)					: uitvoeren schrijf query
	toontable				(tlp)					: resultaat tabel op scherm zetten
	kleurwissel			(dsf)					: voor het afwisselend kleuren van tabelrijen
	terug						(tlp)					: genereert terug knop bij fouten
	button					(tlp)					: genereert bepaalde knop
	zoekuitgebreid 	(tlp)					: genereert zoekvoorwaarde voor in een query
	print_array			(dsf)					: toont array op scherm (alleen nuttig tijdens debuggen)
*/

  session_start(); 
  /*
  --------------
  LDAP LOGIN SCRIPT
  --------------
  Versie 1.0
  Han van der Veen
  */
  // ldap_login_check(Host,port,loginaam,wachtwoord[,basedn[,de groep waar die moet zitten]]);
  function ldap_login_check($host,$port,$loginnaam,$password,$basedn='o=gc',$ingroup=false,$ret=false) 
  {
    // Connecten
    $connect = ldap_connect($host,$port);
    if(!$connect) 
    {
      $user = 'geen';
      return $user;
    }
    // Optie setten
    ldap_set_option($connect, LDAP_OPT_PROTOCOL_VERSION, 3);
    // Filter
    $filter	= '(|(cn=' . $loginnaam . '))';	
    // DN zoeken
    $rest = @ldap_search($connect,$basedn,$filter);
    $rest = @ldap_search($connect,$base2,$filter);
    
    
    // Resultaat
    $res = @ldap_get_entries($connect,$rest);	
    // Resultaat?
    if($res['count'] > 0) 
    {
    $data = $res[0]['dn'];
    $p = strpos($data,'ou=GC');
    $vestiging = $data[$p+5];
    
    $ves = array('vestigingen hier');
    
    $_SESSION['locatie'] = isset($ves[$vestiging]) ? $ves[$vestiging] : '1';
    

      // BINDEN
      $bind = @ldap_bind($connect,$res[0]['dn'],$password);
      if($bind == true) 
      {
        // Checken of iemand in een groep zit?
        $groupmem = true;
        if($ingroup !== false) 
        {
          // Standaard
          $groupmem = false;
          $grp = false;
          // Bestaat de waarde?
          if(isset($res[0]['groupmembership'])) 
          {
          
          $roostergroep = '11111';
          
            // loopie want kan in meerdere groepen zitten
            foreach($res[0]['groupmembership'] as $groep) 
            {
              // Checken of het zo is
              if(strtolower($groep) == strtolower($ingroup)) 
              {
                $grp = true;
                $grp_naam = 'admin';
              } elseif(strtolower($groep) == strtolower($roostergroep)) {
                $grp_naam = 'rooster';
                $grp = true;
              }
            }
          }
          // Weer op goed zetten
          if($grp === true) 
          {
            $groupmem = true;
            $groep = $grp_naam;
          }
        } // ingroep
        if($bind === true && $groupmem === true) 
        {
          if($groep == 'admin') 
          {
            $user = 'adm';
            return $user;
          }
          elseif($groep == 'rooster') 
          {
            return 'rooster';
          }
          $user = 'adm';
          return $user;
        }
        elseif($bind === true && $groupmem === false)
        {
          $user = 'gebr';
          return $user;
        }
        else 
        {
          $user = 'geen';
          return $user;
        }
      } 
      else 
      {
        $user = 'geen';
        return $user;
      }
    } 
    else 
    {
      $user = 'geen';
      return $user;
    }	
    $user = 'geen';
    return $user;
  }
 

// database openen
function connectdb()
{
	include "..\db_gegevens.php";
	
  $DB=mysql_connect("localhost",$user,$password);
  mysql_select_db($database,$DB);
}
// sql statement wegschrijven
function schrijfdb($SQL, $boodschap)
{
	//echo $SQL;
	//echo "<br>";
	if (!mysql_query($SQL)){
		echo "het schrijven naar de database is niet gelukt!" ; 
		// echo $SQL;
	}else
	{
		echo $boodschap;
	}
}

function toontable($SQL, $sorteer, $pagina, $details, $wijzig, $verwijder){
	$result_id = mysql_query($SQL);
	 
	//echo $SQL;
	$aantal = mysql_num_rows($result_id);
	
	if ($aantal==0){
	echo "Er zijn geen records aangetroffen die aan de gestelde voorwaarden voldoen.<br>"; // . $SQL;

	}
	else
	{
	
	if($sorteer=='ja'){
	echo "klik op kolomkop om oplopend te sorteren!";
	} 
	$column_count = mysql_num_fields($result_id);
	echo "<table border = \"0\" cellspacing=\"1\" cellpadding=\"2\">";
	echo "<tr bgcolor=\"#99CC00\">";

	for ($column_num = 0; $column_num < $column_count ; $column_num++)
		{
			// we gaan veldnamen uitlezen en die als kolomkop plaatsen
			$veldnaam = mysql_field_name($result_id, $column_num);
			if (eregi('Vestiging',$veldnaam)){$vestkol=$column_num;$toonvest='ja';}
			if (eregi('Id',$veldnaam)){
					$veldnaam = ""; 
				$skipnummer = $column_num;
			} else {
			if($sorteer=='ja'){
				if(eregi('\?',$pagina)){
				echo "<td><a href = \"$pagina&sort=$veldnaam\">$veldnaam</a></td>";
				}else
				{
				echo "<td><a href = \"$pagina?sort=$veldnaam\">$veldnaam</a></td>";
				}
				
		
			}else
			{
				echo "<td>$veldnaam</td>";
			}
		}
		}
		if ($details =='ja'){
			echo "<td>&nbsp;</td>";
		}
		if ($wijzig =='ja'){
			echo "<td>&nbsp;</td>";
		}
		if ($verwijder =='ja'){
			echo "<td>&nbsp;</td>";
		}
		
	echo "</tr>";
	$teller = 0;
	WHILE ($row = mysql_fetch_row($result_id) )
	{
		$kleur = kleurwissel($teller);
		for ($column_num = 0; $column_num < $column_count ; $column_num++)
	
		{	
			
			if ($column_num == $vestkol){
			if ($toonvest =="ja"){
			$vestigingen = "";
			// We halen nuy de vestigingen op om te tonen
				$sqlvest = "Select AV.IdActiviteit, V.Vestiging from activiteitvestiging AV, vestiging V where IdActiviteit = $detailid AND V.Id = AV.idVestiging";
				$vestresultaat = mysql_query($sqlvest);
				//$vestresultaat = mysql_query($sqlvest);
				$vestaantal = mysql_num_rows($vestresultaat);
				while ($record = mysql_fetch_object($vestresultaat)) {
					$vest = substr("$record->Vestiging",0,1);
					$vestigingen .= strtoupper(" $vest") ;
				}
			echo "<td  bgcolor=\"$kleur\">$vestigingen</td>";
		     // einde vestiging tonen		
			}
			}
			else if ($column_num == $skipnummer){
	    
		    $detailid = $row[$column_num];
		   
		   	//echo "<td bgcolor=\"$kleur\">&nbsp;</td>";
		    }else
		    {
		
			echo "<td bgcolor=\"$kleur\">";
			if($row[$column_num] =='j')
			{
				echo "<img src=\"img/ok.gif\">";
				
			}else if ($row[$column_num] =='n')
			{
				echo "&nbsp;";
			}else if ($row[$column_num] =='')
			{
				echo "&nbsp;";
			}
			else
			{
				echo stripslashes($row[$column_num]);
			}
			
			echo "</td> \n" ;
		}}
		if ($details =='ja'){
				// moet nog netter!
				if ($pagina=="lijst_sjablonen.php") {
						$lijst=2;
				} else if ($pagina=="zoek_sjablonen.php") {
					  $lijst=2;
				} else if ($pagina=="eigen_sjablonen.php") {
					  $lijst=2;
				} else if ($pagina=="verwijderd.php"){
					  $lijst=3;
				}
				else {
					$lijst=1;
				}
			echo "<td bgcolor=\"$kleur\"><a href = \"details.php?id=$detailid&lijst=$lijst&height=450&width=800\" title=\"GPS detailkaart\" class=\"thickbox\"> Details</a> </td>";
		}
		if ($wijzig =='ja'){
			IF ($pagina =="verwijderd.php"){
				// we zitten in de prullenbak, daar wijzigen we niet, wel zetten we evt. records terug.
				echo "<td bgcolor=\"$kleur\"><a href = \"pr2a.php?id=$detailid&lijst=$lijst\">Zet terug</a> </td>";
			} ELSE {
				// we zitten in de activiteitenlijst, daar mogen we muteren.
				echo "<td bgcolor=\"$kleur\"><a href = \"muteactie.php?id=$detailid\"> Wijzig</a> </td>";
			}
		}
		if ($verwijder =='ja'){
		//echo "pagina: " . $pagina;
			if ($pagina=="verwijderd.php"){
				// We zitten in de prullenbak, we moeten evt. record echt verwijderen, dus ook subtabellen.
				echo "<td bgcolor=\"$kleur\"><a href = \"prweg.php?id=$detailid&lijst=$lijst\">Verwijder</a> </td>";
			}else {
				echo "<td bgcolor=\"$kleur\"><a href = \"wegactie.php?id=$detailid&lijst=$lijst\"> Verwijder</a> </td>";
			}
		}
		$teller++;
		echo "</tr>";
	}
	echo "</table>";
}
}

function kleurwissel($teller) {
	$kc = $teller % 2;
	if ($kc == 0) {
		$kleur = "#9DB3D6";
	} else {
		$kleur = "#CCE57F";
	}
	return $kleur;
}

// onderstaande functie genereert een terug-button nadat fouten zijn gesignaleerd
function terug($n)
{
echo "<input type=\"submit\" name=\"terug\" value=\"Terug\" style=\"color: #093C90;  font-style: normal; font-family: verdana; font-weight: normal; font-size:12px; background-color: #99CC00\" onClick=\"javascript:history.go(-$n);\">";
}

// onderstaande functie genereert een button met een bepaald opschrift, naam en functie zijn submit!
function button($opschrift)
{
echo "<input type=\"Submit\" name=\"Submit\" value=\"$opschrift\" style=\"color: #093C90;  font-style: normal; font-family: verdana; font-weight: normal; font-size:12px; background-color: #99CC00\">";
}

function zoekuitgebreid($string ,$soortopdracht, $field){
$woord = explode("," , $string);
$aantal = count($woord);
$i=0;
$voorwaarde = ""; 

if ($aantal > 1){
for ($i=0; $i<$aantal; $i++){
                IF($i==0){
					$voorwaarde .= " AND ($field like '%$woord[$i]%'";
                }
                ELSE IF ($i+1 == $aantal){
                    $voorwaarde .= " $soortopdracht $field like '%$woord[$i]%')";
                }
                ELSE{
                    $voorwaarde .= " $soortopdracht $field like '%$woord[$i]%'";
				}
};
}else
{
	$voorwaarde = " AND ($field like '%$string%')";
}


return $voorwaarde;

}



function print_array($lijst) {
	print "Array: $array <br />";
	print "<pre>";
	print_r($lijst);
	print "</pre><br />";
		
}


function voet1() {
print "<tr><td colspan=\"2\"><hr><h6><a href=\"hoofdmenu.php\">Startscherm</a>&nbsp;&nbsp;&copy; Greijdanus 2010</h6></td></tr>";
print "</table></center></body></html>";
}

function voet2() {
print "<tr><td colspan =\"2\">U dient ingelogd te zijn <a href=\"index.php\">inlogscherm</a></td></tr>";
print "</table></center></body></html>";
}



?>
